From ec2aac5b61ec5b723cdde6d5976210539cf4e3ed Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 18 May 2020 18:21:39 -0400 Subject: [PATCH] gsk: Document blend modes Add some information about blend modes, mostly taken from the css compositing spec. Fixes: #2739 --- gsk/gskenums.h | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/gsk/gskenums.h b/gsk/gskenums.h index d5fcb8ec55..d7607fbcb1 100644 --- a/gsk/gskenums.h +++ b/gsk/gskenums.h @@ -98,25 +98,30 @@ typedef enum { * @GSK_BLEND_MODE_DEFAULT: The default blend mode, which specifies no blending * @GSK_BLEND_MODE_MULTIPLY: The source color is multiplied by the destination * and replaces the destination - * @GSK_BLEND_MODE_SCREEN: ... - * @GSK_BLEND_MODE_OVERLAY: ... - * @GSK_BLEND_MODE_DARKEN: ... - * @GSK_BLEND_MODE_LIGHTEN: ... - * @GSK_BLEND_MODE_COLOR_DODGE: ... - * @GSK_BLEND_MODE_COLOR_BURN: ... - * @GSK_BLEND_MODE_HARD_LIGHT: ... - * @GSK_BLEND_MODE_SOFT_LIGHT: ... - * @GSK_BLEND_MODE_DIFFERENCE: ... - * @GSK_BLEND_MODE_EXCLUSION: ... - * @GSK_BLEND_MODE_COLOR: ... - * @GSK_BLEND_MODE_HUE: ... - * @GSK_BLEND_MODE_SATURATION: ... - * @GSK_BLEND_MODE_LUMINOSITY: ... + * @GSK_BLEND_MODE_SCREEN: Multiplies the complements of the destination and source + * color values, then complements the result. + * @GSK_BLEND_MODE_OVERLAY: Multiplies or screens the colors, depending on the + * destination color value. This is the inverse of hard-list + * @GSK_BLEND_MODE_DARKEN: Selects the darker of the destination and source colors + * @GSK_BLEND_MODE_LIGHTEN: Selects the lighter of the destination and source colors + * @GSK_BLEND_MODE_COLOR_DODGE: Brightens the destination color to reflect the source color + * @GSK_BLEND_MODE_COLOR_BURN: Darkens the destination color to reflect the source color + * @GSK_BLEND_MODE_HARD_LIGHT: Multiplies or screens the colors, depending on the source color value + * @GSK_BLEND_MODE_SOFT_LIGHT: Darkens or lightens the colors, depending on the source color value + * @GSK_BLEND_MODE_DIFFERENCE: Subtracts the darker of the two constituent colors from the lighter color + * @GSK_BLEND_MODE_EXCLUSION: Produces an effect similar to that of the difference mode but lower in contrast + * @GSK_BLEND_MODE_COLOR: Creates a color with the hue and saturation of the source color and the luminosity of the destination color + * @GSK_BLEND_MODE_HUE: Creates a color with the hue of the source color and the saturation and luminosity of the destination color + * @GSK_BLEND_MODE_SATURATION: Creates a color with the saturation of the source color and the hue and luminosity of the destination color + * @GSK_BLEND_MODE_LUMINOSITY: Creates a color with the luminosity of the source color and the hue and saturation of the destination color * * The blend modes available for render nodes. * * The implementation of each blend mode is deferred to the * rendering pipeline. + * + * See https://www.w3.org/TR/compositing-1/#blending for more information + * on blending and blend modes. */ typedef enum { GSK_BLEND_MODE_DEFAULT = 0, -- 2.30.2